home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 3140.ZIP / PHDBASE.DOC < prev    next >
Text File  |  1991-10-21  |  80KB  |  2,094 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                       █▀▀▀█ █    █▀▀▀▄ █                   TM
  16.                       █▄▄▄█ █▄▄▄ █   █ █▄▄▄ ▄▄▄▄ ▄▄▄▄ ▄▄▄▄
  17.                       █     █  █ █   █ █  █ ▄▄▄█ █▄▄▄ █▄▄█
  18.                       █     █  █ █▄▄▄▀ █▄▄█ █▄▄█ ▄▄▄█ █▄▄▄
  19.  
  20.  
  21.                        Powerful phonetic search technology
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.                               ┌─────────┐                 
  29.                         ┌─────┴───┐     │               (R)
  30.                       ──│         │o    │──────────────────
  31.                         │   ┌─────┴╨──┐ │  Association of   
  32.                         │   │         │─┘  Shareware       
  33.                         └───│    o    │    Professionals
  34.                       ──────│    ║    │────────────────────
  35.                             └────╨────┘    MEMBER           
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.                            Korenthal Associates, Inc.
  44.                     230 West 13th Street · New York, NY 10011
  45.                    Phone: (212) 242-1790 · Fax: (212) 242-2599
  46.  
  47.  
  48.      ──────────────────────────────────────────────────────────────────────
  49.      Credits
  50.  
  51.  
  52.      PhDbase was written by James E. Korenthal, Steven E. Arnott,
  53.      Tracey M. Siesser, and Lewis Horowitz.
  54.  
  55.           
  56.      ──────────────────────────────────────────────────────────────────────
  57.      Copyright Notice
  58.  
  59.  
  60.      PhDbase is Copyright 1991 by Korenthal Associates, Inc.
  61.      All rights are reserved.
  62.  
  63.      This document is Copyright 1991 by Korenthal Associates, Inc.
  64.      All rights are reserved.
  65.  
  66.  
  67.      ──────────────────────────────────────────────────────────────────────
  68.      Trademarks
  69.  
  70.  
  71.      PhDbase, 4Print, 4Book, and Babble! are trademarks of Korenthal
  72.      Associates, Inc.
  73.  
  74.      All trademarks and registered trademarks referenced within this
  75.      document are the property of their respective holders.
  76.  
  77.           
  78.      ──────────────────────────────────────────────────────────────────────
  79.      Warranty Disclaimer
  80.  
  81.  
  82.      KORENTHAL ASSOCIATES, INC. MAKES NO WARRANTY OF ANY KIND, EXPRESSED OR
  83.      IMPLIED, INCLUDING WITHOUT LIMITATION ANY WARRANTIES OF MERCHANTABILI-
  84.      TY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
  85.  
  86.      KORENTHAL ASSOCIATES, INC. DOES NOT ASSUME ANY LIABILITY FOR THE USE
  87.      OF THIS SOFTWARE BEYOND THE ORIGINAL PURCHASE PRICE OF THIS SOFTWARE.
  88.  
  89.      IN NO EVENT WILL KORENTHAL ASSOCIATES, INC. BE LIABLE TO YOU FOR ANY
  90.      ADDITIONAL DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS, OR OTHER
  91.      INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF, OR
  92.      INABILITY TO USE, THIS SOFTWARE AND ITS ACCOMPANYING DOCUMENTATION,
  93.      EVEN IF KORENTHAL ASSOCIATES, INC. HAS BEEN ADVISED OF THE POSSIBILITY
  94.      OF SUCH DAMAGES.
  95.  
  96.  
  97.      ──────────────────────────────────────────────────────────────────────
  98.      Table of Contents
  99.  
  100.  
  101.      Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . .    2
  102.  
  103.      What is PhDbase?  . . . . . . . . . . . . . . . . . . . . . . . .    2
  104.  
  105.      Installation  . . . . . . . . . . . . . . . . . . . . . . . . . .    3
  106.  
  107.      A PhDbase Tutorial  . . . . . . . . . . . . . . . . . . . . . . .    5
  108.  
  109.      Putting PhDbase on the System Menu  . . . . . . . . . . . . . . .   11
  110.  
  111.      Autoloading PhDbase . . . . . . . . . . . . . . . . . . . . . . .   11
  112.  
  113.      The PhDbase Menu  . . . . . . . . . . . . . . . . . . . . . . . .   13
  114.  
  115.      Appendix A: Removing PhDbase  From Your System  . . . . . . . . .   16
  116.  
  117.      Appendix B: Trouble-Shooting Guide  . . . . . . . . . . . . . . .   19
  118.  
  119.      Appendix C: The PhDbase Philosophy  . . . . . . . . . . . . . . .   22
  120.  
  121.      Appendix D: PhDbase Developer's Edition . . . . . . . . . . . . .   24
  122.  
  123.      Appendix E: About Korenthal Associates  . . . . . . . . . . . . .   25
  124.  
  125.      Appendix F: PhDbase Shareware Information . . . . . . . . . . . .   27
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.      ──────────────────────────────────────────────────────────────────────
  152.      PhDbase User's Guide                                                 1
  153.  
  154.  
  155.      ──────────────────────────────────────────────────────────────────────
  156.      Introduction
  157.  
  158.  
  159.         [Ring, ring...]
  160.  
  161.         "Good morning, Weird Willie's Widgets, may I help you?"
  162.  
  163.         "Yah.  Pyotr Schmenge here.  WHERE ARE MY WIDGETS?"
  164.  
  165.         "One moment, Mr. Chmingie...  I'm sorry, but I can't seem to find
  166.         your name in our database.  Do you know your customer number?"
  167.  
  168.         "Don't gimme that! FIND MY ORDER RIGHT NOW!"
  169.  
  170.      Sound familiar, or at least plausible?  With PhDbase, this could never
  171.      happen!  Why not?  With PhDbase, a search for "Chmingie" would return
  172.      "Schmenge" and any other name with a similar sound.  You could even
  173.      search on both first and last names, possibly misspelling "Pyotr" as
  174.      "Peter."
  175.  
  176.  
  177.  
  178.      ──────────────────────────────────────────────────────────────────────
  179.      What is PhDbase?
  180.  
  181.  
  182.      PhDbase ("Phonetic Database") is a FoxPro 2 add-on utility that finds
  183.      names based upon the way they sound, rather than the way they're
  184.      spelled.  Because PhDbase becomes part of the FoxPro system menu, it's
  185.      available for use whenever FoxPro's other menu options are available. 
  186.      And because it's so easy to use, you can put PhDbase's searching power
  187.      to work right away!
  188.  
  189.      PhDbase has two ways of finding names.  Quick Search finds names when
  190.      they appear at the beginning of a search field (such as "amerikin" in
  191.      "American Express").  A typical Quick Search for a misspelled personal
  192.      or company name will often return a list of most likely selections in
  193.      a 100,000 record database in less than five seconds. 
  194.  
  195.      Full Search finds names when they appear anywhere in a search field
  196.      (such as "pyureena" in "Ralston Purina"), but it takes longer.  How
  197.      much longer depends upon the number of records that PhDbase has to
  198.      scan.  If you can create a FoxPro index on one or more fields in the
  199.      database (such as STATE), and provide some information about the
  200.      contents of this field in the record you're looking for (such as STATE
  201.      = "NY"), even a Full Search in a large database can be performed
  202.      fairly rapidly.
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.      ──────────────────────────────────────────────────────────────────────
  210.      2                                           Korenthal Associates, Inc.
  211.  
  212.  
  213.      ──────────────────────────────────────────────────────────────────────
  214.      Installation
  215.  
  216.  
  217.      The Distribution Files
  218.      ──────────────────────
  219.  
  220.      The PhDbase distribution diskette includes the following files:
  221.  
  222.          PACKING.LST      Complete list of files on the PhDbase diskette.
  223.          README.DOC       Last minute notes and instructions.
  224.          INSTALL.BAT      Automated installation program.
  225.          PHDBASE.DOC      The PhDbase User's Guide.
  226.          PHDBASE.APP      The PhDbase application file.
  227.          PHDBASE.SET      The PhDbase configuration file.
  228.          PHDBASE.HLP      The PhDbase help file.
  229.          PHDBASE.FPT      The PhDbase help database's memo file.
  230.          PHSAMPLE.DBF     Sample database for you to play with.
  231.          PRODUCTS.DOC     Information on other KA products.
  232.          SITELIC.DOC      PhDbase site license terms and information.
  233.          WARRANTY.DOC     Important warranty disclaimer information.
  234.  
  235.      Other files provide information about registration and distribution of
  236.      the shareware version of PhDbase.  Only the PHDBASE.* files are
  237.      required for the proper operation of the program.  PhDbase looks for
  238.      these files in your FoxPro 2 directory, and will not install itself
  239.      into the system menu if they are not there.
  240.  
  241.  
  242.      Installing PhDbase
  243.      ──────────────────
  244.  
  245.      If you are installing PhDbase from a floppy disk, change directories
  246.      to your FoxPro directory.  Place the PhDbase distribution disk in
  247.      drive A: or B: and run the installation program:
  248.  
  249.           C>cd \foxpro2
  250.           C>a:install         OR        C>b:install
  251.  
  252.      Alternatively, you may install PhDbase without changing to your FoxPro
  253.      directory by specifying the FoxPro path on the install command line. 
  254.      Note that you *MUST* include the trailing backslash!!!  For example:
  255.  
  256.           C>a:install c:\foxpro2\
  257.  
  258.      If you are installing a version of PhDbase that was compressed for
  259.      electronic distribution, you should uncompress all the files into a
  260.      temporary directory, make that the current directory, and then run
  261.      install, specifying the FoxPro directory (with the trailing back-
  262.      slash!) on the install command line (see above).  Then you can delete
  263.      the files from the temporary directory.
  264.  
  265.  
  266.  
  267.      ──────────────────────────────────────────────────────────────────────
  268.      PhDbase User's Guide                                                 3
  269.  
  270.  
  271.      The install program will place the files PHDBASE.APP, PHDBASE.SET,
  272.      PHDBASE.HLP, PHDBASE.FPT, and PHSAMPLE.DBF in your FoxPro directory. 
  273.      In addition, the program will create a subdirectory within your FoxPro
  274.      directory called PHDBASE (i.e. C:\FOXPRO2\PHDBASE\) in which it will
  275.      store the PhDbase documentation files.
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.      ──────────────────────────────────────────────────────────────────────
  326.      4                                           Korenthal Associates, Inc.
  327.  
  328.  
  329.      ──────────────────────────────────────────────────────────────────────
  330.      A PhDbase Tutorial
  331.  
  332.  
  333.      One of the files included on the PhDbase distribution disk is a sample
  334.      database called PHSAMPLE.DBF, containing 500 records.  The installa-
  335.      tion program copied it to your FoxPro 2 directory along with the other
  336.      PhDbase files.  In the tutorial, we will use this database to give you
  337.      a feel for what PhDbase can do.
  338.  
  339.      Run FoxPro from your FoxPro 2 directory.  From the Command window,
  340.      type DIR and press Enter.  FoxPro will display a list of databases in
  341.      the current directory.  You should see PHSAMPLE among them.  If you
  342.      don't, then either you are not currently in your FoxPro 2 directory
  343.      (type ? SYS(2003) to display your current directory on the screen), or
  344.      the sample database has been erased.  If it has been erased, you can
  345.      copy it from the PhDbase disk by typing the following command from the
  346.      DOS prompt:
  347.  
  348.           C>COPY A:PHSAMPLE.* C:\FOXPRO2
  349.  
  350.      replacing "C:\FOXPRO2" with your actual FoxPro 2 directory.
  351.  
  352.      Open this database now.  You can open it from the Command window by
  353.      typing:
  354.  
  355.           USE PHSAMPLE
  356.  
  357.      You can also open it through the Open File dialog (select Open from
  358.      the File menu), or through the View window.
  359.  
  360.      We're going to need a normal, non-PhDbase index in this tutorial. 
  361.      Create this index now by typing:
  362.  
  363.           INDEX ON STATE TAG STATE
  364.  
  365.      Now view the database in a Browse window.  From the Command window,
  366.      type:
  367.  
  368.           BROWSE LAST
  369.  
  370.      or select the < Browse > push button on the View window.  Arrange the
  371.      window to your liking.  FoxPro will save this window setup in your
  372.      resource file, and use it for this database whenever you type BROWSE
  373.      LAST.
  374.  
  375.      Now we can give you a taste of what PhDbase can do!  The following
  376.      tutorial assumes that you have the PHSAMPLE database open in a Browse
  377.      window.
  378.  
  379.  
  380.  
  381.  
  382.  
  383.      ──────────────────────────────────────────────────────────────────────
  384.      PhDbase User's Guide                                                 5
  385.  
  386.  
  387.      Part I: Activating the PhDbase Menu
  388.      ───────────────────────────────────
  389.  
  390.      The PhDbase menu works just like FoxPro's menus.  You can activate a
  391.      menu in several ways.  Which way is easiest depends upon whether or
  392.      not you use a mouse with FoxPro.
  393.  
  394.      If you use a mouse, just "click" on the menu name.  ("Click" means
  395.      "position the mouse cursor, and press the left mouse button".)  Now
  396.      select a menu option by clicking on it.
  397.  
  398.      From the keyboard, you can activate the FoxPro menu bar by pressing
  399.      the Alt key.  Highlight the menu you want to use and press Enter.  You
  400.      can also activate a menu pad by holding down the Alt key and typing
  401.      the menu's "hot key", the letter which appears in a different color
  402.      than the rest of the menu prompt.  (If you have a monochrome monitor,
  403.      it's the letter that is brighter than the others.  Adjust your
  404.      monitor's contrast setting if you can't see any difference.)
  405.  
  406.      PhDbase searches may be initiated whenever the PhDbase menu pad is
  407.      selectable (i.e. not dimmed).  In general, the menu pad is only
  408.      deactivated when you are in the middle of a PhDbase search.
  409.  
  410.  
  411.      Part II: Using Quick Search
  412.      ───────────────────────────
  413.  
  414.      Activate the PhDbase menu, and select Quick search (or use the Quick
  415.      search hot key, Ctrl-Q).
  416.  
  417.      Since the sample database is not yet PhDbase-ready, the program
  418.      prompts you to confirm that you want to build one or more PhDbase
  419.      indexes.  Select the fields that you want to search phonetically from
  420.      the list, and press <End> when you are done.  Fields may be added or
  421.      deleted by highlighting the field name and pressing <Enter>.  For now,
  422.      select the Last, First and Company fields, and press the End key to
  423.      complete your selection.
  424.  
  425.      A separate PhDbase index will be created for each selected field. 
  426.      PhDbase will tell you how many fields and records will be indexed, and
  427.      let you cancel the process if you wish.  Press "Y" to proceed, and the
  428.      phonetic indexes will be created on the Last, First and Company
  429.      fields.
  430.  
  431.      Now that the indexes are in place, we're ready to search the database. 
  432.      The Quick search data entry window contains a line for each field that
  433.      has a PhDbase index, plus a "Limit to " line that lets you specify
  434.      additional filter criteria.  The expression must be one that can be
  435.      used in FoxPro's LOCATE FOR command.  An example of a filter expres-
  436.      sion is shown in the upper right corner of the screen whenever the
  437.      cursor enters this field.  Don't worry about making a mistake, though. 
  438.      PhDbase can catch invalid expressions.
  439.  
  440.  
  441.      ──────────────────────────────────────────────────────────────────────
  442.      6                                           Korenthal Associates, Inc.
  443.  
  444.  
  445.      Fill in as many of the fields as you need to find the desired record. 
  446.      Supplying a search criterion in more than one field may narrow the
  447.      subset of possible matches, but it will never expand it.  For example,
  448.      if you enter "Tom" in the first name field, and "Jones" in the last
  449.      name field, PhDbase will find "Tom Jones", but it won't find "Charles
  450.      Jones" or "Tom Swift".
  451.  
  452.      If there are no possible matches to your entry, a message to this
  453.      effect will be displayed, and you will be returned to the data entry
  454.      window, where you may modify your search entry.  If the number of
  455.      possible matches exceeds a user-configurable limit (see "Options" in
  456.      "The PhDbase Menu" below), the number will be displayed, and you will
  457.      be prompted to confirm that you want to proceed.  If the limit was not
  458.      exceeded (or if you have set it to 0), the evaluation process will
  459.      begin without any intervention on your part.
  460.  
  461.      PhDbase always orders its list of matching records from most likely to
  462.      least likely.  The "list" is a temporary FoxPro database to which each
  463.      matching record has been copied.  (By default, memo fields are not
  464.      copied, but you may change this setting.  See "Options" in "The
  465.      PhDbase Menu" below.)  We will refer to this database as the "Results"
  466.      database, and to the database that you are searching as the "Source"
  467.      database.
  468.  
  469.      The Results database is displayed in a split Browse window.  The left
  470.      partition is in Browse (columnar) mode, while the right partition is
  471.      in Edit (form) mode.  Since the Browse menu is active, you can change
  472.      the window's appearance just as you can any other Browse window. 
  473.      However, your changes will not be saved from one search to the next. 
  474.      The Results data may not be changed, as none of your changes would be
  475.      reflected in the Source database.
  476.  
  477.      From the Results database, you either select a record or press Escape. 
  478.      If you select a record, PhDbase will find that record in the Source
  479.      database, make it the current record, and return you to the Source
  480.      database.  To select a record, use the cursor keys to highlight it,
  481.      and then press the Space Bar.  Press Escape to return to the data
  482.      entry window.
  483.  
  484.      Let's try a Quick search right now.  Suppose you need to change some
  485.      information in Mr. Comeroski's record.  When you choose Quick search,
  486.      you get the following:
  487.  
  488.           ┌─────────────── Enter Search Criteria ────────────────┐
  489.           │                                                      │
  490.           │ Last       comeroski                                 │
  491.           │ First                                                │
  492.           │ Company                                              │
  493.           │ Limit to                                             │
  494.           │                                                      │
  495.           └──────────────── Press Esc to Cancel ─────────────────┘
  496.  
  497.  
  498.  
  499.      ──────────────────────────────────────────────────────────────────────
  500.      PhDbase User's Guide                                                 7
  501.  
  502.  
  503.      Note that we've filled in the "Last" field with what you should type,
  504.      and also that it doesn't matter whether you type the name in upper,
  505.      lower, or mixed case.  You can either press Enter until you get past
  506.      the "Limit to" field, or press Control-W immediately to start the
  507.      search.  PhDbase will find three records in the sample database, all
  508.      having the last name "Kommerosky."  You will have an opportunity to
  509.      browse these records.  Select one of them by using the up/down arrows
  510.      and then press the spacebar.  PhDbase will exit, and the database will
  511.      be positioned on the record you selected.  If you had a browse active
  512.      when you did the search, you will see that this record is highlighted
  513.      and you can then edit it.  Otherwise, you can type EDIT in the command
  514.      window and the record you've selected will be presented for editing.
  515.  
  516.      Once you've edited that record or manipulated it in any other way, you
  517.      can quickly get back to the PhDbase results database by activating
  518.      PhDbase and choosing "Review search results."  You'll be presented
  519.      with the same three records as before, and you can then select another
  520.      one for further processing.
  521.  
  522.      Here's another way you could have performed this search:
  523.  
  524.           ┌─────────────── Enter Search Criteria ────────────────┐ 
  525.           │                                                      │
  526.           │ Last       comeroski                                 │
  527.           │ First      martin                                    │
  528.           │ Company                                              │
  529.           │ Limit to                                             │
  530.           │                                                      │
  531.           └──────────────── Press Esc to Cancel ─────────────────┘
  532.  
  533.      In this case, PhDbase would have presented only one record in the
  534.      results database, "Marty Kommerosky."  Note that you still have to
  535.      press the spacebar if you want PhDbase to position your database on
  536.      this record.
  537.  
  538.  
  539.      Part III: Full Searches
  540.      ───────────────────────
  541.  
  542.      When the information you're searching for may not be at the beginning
  543.      of the search field, use PhDbase's Full search option.  "Full search-
  544.      es" are performed by scanning the search field(s) for each record in
  545.      the database (unless you supply a "Limit to" expression that uses a
  546.      FoxPro index see below), and comparing all elements of the search
  547.      fields' contents to your entries for closeness of character pattern
  548.      match.
  549.  
  550.      Please note that this version of PhDbase's Full search *does not*
  551.      employ the same phonetic matching algorithm that is used in Quick
  552.      searches.  For example, although the Full search will find "candy" in
  553.      "Karl's Kotten Kandy Kitchen", it is the match on "andy" that causes
  554.      the record to be selected as a good match.  The phonetic equivalence
  555.  
  556.  
  557.      ──────────────────────────────────────────────────────────────────────
  558.      8                                           Korenthal Associates, Inc.
  559.  
  560.  
  561.      of "C" and "K" is not a factor in determining candidate records in a
  562.      Full search.
  563.  
  564.      Select Full search from the PhDbase menu (or use the Full search hot
  565.      key, Ctrl-S), and then select the fields to be searched from the
  566.      fields list.  This list may, but need not, include some or all of the
  567.      Quick search fields.  In addition, Full searches may also be performed
  568.      on memo fields.  (Quick searches cannot use memo fields because you
  569.      cannot index on a memo field.)
  570.  
  571.      The Full search data entry window always contains two lines, one for
  572.      the target search string, and one for the "Limit to" filter expres-
  573.      sion.  While specifying an additional filter expression in a Quick
  574.      search may slightly improve its search speed, specifying a "Limit to"
  575.      expression that can use an existing FoxPro index is crucial to the
  576.      Full search's execution speed.  Without it, every record in the data-
  577.      base must be scanned.
  578.  
  579.      However, if you provide what Fox Software refers to as an "optimizable
  580.      expression" (such as STATE = 'NY' when searching a database that has
  581.      an index on the state field), PhDbase will only evaluate the records
  582.      contained in the subset returned by Fox's Rushmore technology.  Obvi-
  583.      ously, this can result in a significant improvement in execution speed
  584.      when searching databases that have more than a few hundred records. 
  585.      Refer to your FoxPro manuals for more information on Rushmore and
  586.      optimizable expressions.
  587.  
  588.      Since PhDbase does not know whether or not you've supplied an
  589.      optimizable expression, it can't tell you how many possible matches
  590.      there are without actually doing the search.  To avoid the possibility
  591.      of scanning the entire database twice, the Full search simply displays
  592.      its status as it scans the database.  You can press Escape at any time
  593.      to cancel the search, and view the most likely matches out of the
  594.      records which were scanned up to that point.  Of course, the results
  595.      of a "cancelled" search may not be accurate.
  596.  
  597.      The results of a Full search are displayed in the same manner as for a
  598.      Quick search.  Select a record for further processing, or press Escape
  599.      to return to the data entry window.
  600.  
  601.      Let's try a Full search on the sample database.  Select Full search,
  602.      and choose Company when PhDbase asks you which fields to search on. 
  603.      (Note that once you select the search fields, you won't be asked to do
  604.      so again unless you switch databases.)  Then fill out the Full search
  605.      information like this:
  606.  
  607.           ┌────────────── Enter Search Expression ───────────────┐
  608.           │                                                      │
  609.           │ Search for  sensky                                   │
  610.           │ Limit to                                             │
  611.           │                                                      │
  612.           └──────────────── Press Esc to Cancel ─────────────────┘
  613.  
  614.  
  615.      ──────────────────────────────────────────────────────────────────────
  616.      PhDbase User's Guide                                                 9
  617.  
  618.  
  619.      PhDbase will proceed to scan the entire database, looking for close
  620.      matches to "sensky" anywhere in the company name field.  You will be
  621.      presented with a results database where the first two records have
  622.      "Senski" in the company name, followed by a collection of records
  623.      which match "sensky" in less obvious ways.  At first, it may be hard
  624.      for you to understand why PhDbase is returning these "less obvious"
  625.      records.  Bear in mind, though, that 1) they will always appear after
  626.      the more obvious matches in the results database, and 2) sometimes the
  627.      "search target" you specify is quite different from the record you
  628.      intend to find, and PhDbase's Full search algorithm takes this into
  629.      account when deciding whether to include a record in the results
  630.      database.  You'd be surprised how many times you'll badly misspell a
  631.      search target and PhDbase will come to the rescue!
  632.  
  633.      Once the results database is presented, you can press Escape to do
  634.      further searching or cancel the search, or you can select a record
  635.      with the spacebar and choose Review search results later, the same as
  636.      you did for a Quick search.
  637.  
  638.      The search you just performed had to scan every record in the data-
  639.      base.  Suppose, though, that you knew that the company you were
  640.      looking for was in California, and that there was a STATE index in
  641.      your database.  Try this Full search now:
  642.  
  643.           ┌────────────── Enter Search Expression ───────────────┐
  644.           │                                                      │
  645.           │ Search for  sensky                                   │
  646.           │ Limit to    state="CA"                               │
  647.           │                                                      │
  648.           └──────────────── Press Esc to Cancel ─────────────────┘
  649.  
  650.      PhDbase will now scan only a little over 100 records, finding the
  651.      correct company in one fifth the time!  This technique can make it
  652.      possible to Full search very large databases which would otherwise
  653.      take an inordinate amount of time.
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.      ──────────────────────────────────────────────────────────────────────
  674.      10                                          Korenthal Associates, Inc.
  675.  
  676.  
  677.      ──────────────────────────────────────────────────────────────────────
  678.      Putting PhDbase on the System Menu
  679.  
  680.  
  681.      You must load PhDbase before you can search a database.  To load
  682.      PhDbase, just "run" the PhDbase program file, PHDBASE.APP.  If the
  683.      current directory is not the FoxPro 2 directory, you'll have to
  684.      include the FoxPro 2 directory in the file name, or use FoxPro 2's
  685.      Open File dialog through the "Do" option on the Program menu pad.
  686.  
  687.      From the Command window, type:
  688.  
  689.           DO C:\FOXPRO2\PHDBASE
  690.  
  691.      substituting your FoxPro 2 directory for "C:\FOXPRO2".
  692.  
  693.      Alternatively, you can modify your FoxPro configuration file,
  694.      CONFIG.FP, so that PhDbase is loaded whenever you open a database that
  695.      has a PhDbase index.  See "Autoloading PhDbase."
  696.  
  697.  
  698.  
  699.      ──────────────────────────────────────────────────────────────────────
  700.      Autoloading PhDbase
  701.  
  702.  
  703.      Once you have made a database file "PhDbase-ready" by creating a
  704.      PhDbase index tag, FoxPro will look for either a function or a file
  705.      called PHDBASE every time you open the database with the USE command
  706.      (or through the View window).  If PhDbase is not loaded (i.e.
  707.      "PhDbase" does not appear on the FoxPro system menu), and FoxPro is
  708.      unable to locate the PhDbase application file (PHDBASE.APP), an error
  709.      will occur.  FoxPro will display the error message "File PHDBASE does
  710.      not exist".
  711.  
  712.      If FoxPro is able to find the application file (which it will if you
  713.      run FoxPro from the FoxPro home directory, or if you have a PATH= line
  714.      in your configuration file, CONFIG.FP, that includes the home direc-
  715.      tory), FoxPro will load PhDbase as part of the process of opening the
  716.      database, and the PhDbase menu pad will appear in the system menu.
  717.  
  718.      If PhDbase was loaded in this manner, FoxPro will only recognize the
  719.      first PhDbase index tag in the structural index (.CDX) file as a valid
  720.      index.  PhDbase Quick searches can still be performed, but they may
  721.      not be able to use the indexes to quickly locate matching records.
  722.  
  723.      To avoid these potential problems, you can have PhDbase loaded auto-
  724.      matically every time you run FoxPro by adding the following line to
  725.      the bottom of your CONFIG.FP file:
  726.  
  727.           COMMAND = DO C:\FOXPRO2\PHDBASE
  728.  
  729.  
  730.  
  731.      ──────────────────────────────────────────────────────────────────────
  732.      PhDbase User's Guide                                                11
  733.  
  734.  
  735.      Substitute your actual FoxPro 2 home directory for C:\FOXPRO2 in the
  736.      above example.
  737.  
  738.      To modify or create a CONFIG.FP file, you can use FoxPro's text
  739.      editor.  To make sure you're modifying the right file, use the
  740.      SYS(2019) function to display the name of the current configuration
  741.      file.  If typing "? SYS(2019)" in the Command window does not display
  742.      anything, then you don't currently have a configuration file, and can
  743.      just create one.
  744.  
  745.           ┌──────────────────────────  Note  ──────────────────────────┐
  746.           │ If CONFIG.FP contains more than one "COMMAND =" statement, │
  747.           │ FoxPro will disregard all but the last one.                │
  748.           └────────────────────────────────────────────────────────────┘
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.      ──────────────────────────────────────────────────────────────────────
  790.      12                                          Korenthal Associates, Inc.
  791.  
  792.  
  793.      ──────────────────────────────────────────────────────────────────────
  794.      The PhDbase Menu
  795.  
  796.  
  797.      When you select PhDbase from the FoxPro system menu, the following
  798.      menu will drop down:
  799.  
  800.                ┌─────────────────────────────┐
  801.                │     PhDbase Version 2.00    │
  802.                │      Copyright 1991 by      │
  803.                │  Korenthal Associates, Inc. │
  804.                ├─────────────────────────────┤
  805.                │ Quick search             ^Q │
  806.                │ Full search              ^S │
  807.                │ Review search results       │
  808.                ├─────────────────────────────┤
  809.                │ Help on PhDbase             │
  810.                │ Build phonetic index        │
  811.                │ Pick full search fields     │
  812.                │ Options                     │
  813.                │ Uninstall PhDbase           │
  814.                ├─────────────────────────────┤
  815.                │ About PhDbase               │
  816.                └─────────────────────────────┘
  817.  
  818.      (Please note that the shareware version of PhDbase may have some
  819.      additional menu selections having to do with completing and printing
  820.      order forms, etc.)
  821.  
  822.      Select "Quick search" to perform a normal PhDbase search on a PhDbase-
  823.      ready database.  If you don't have a database currently selected,
  824.      PhDbase will present you with the FoxPro Open File dialog box.  If the
  825.      database you select is not PhDbase-ready, you will be prompted to
  826.      choose the field or fields for which you'd like a phonetic index
  827.      built.
  828.  
  829.      Select "Full search" to perform a fuzzy search against your entire
  830.      database, whether or not it is PhDbase-ready.  This search is typical-
  831.      ly much slower than a quick search, but a full search can find infor-
  832.      mation which is embedded in the middle of a field, whereas a quick
  833.      search only looks for phonetic matches at the beginning of a field.
  834.  
  835.      When you first select Full search, you will be prompted to select a
  836.      database if necessary, and also to identify which fields you wish to
  837.      search on.  The next time you select Full search, you won't have to
  838.      specify these fields again unless you're searching a different data-
  839.      base.
  840.  
  841.      See the Tutorial for more information about Quick and Full searches. 
  842.      Note that both searches allow you to specify a "Limit to" expression
  843.      which, if used to narrow the search through existing indexes, can
  844.      dramatically decrease the time it takes to perform a PhDbase search
  845.      (especially a Full search).
  846.  
  847.      ──────────────────────────────────────────────────────────────────────
  848.      PhDbase User's Guide                                                13
  849.  
  850.  
  851.      After a successful search (either Quick or Full), you will be present-
  852.      ed with a browse window of search results.  Use the up and down arrows
  853.      to view these results and press the space bar when you're positioned
  854.      on the record in which you're interested. PhDbase will then exit, but
  855.      your database will be positioned on the record you've selected.  Then,
  856.      for example, you could type EDIT in the FoxPro command window to
  857.      change information in that record.
  858.  
  859.      If you wish to take another look at the set of records returned by
  860.      PhDbase in the last search (either Quick or Full), choose "Review
  861.      search results."  You may then continue browsing and possibly select
  862.      another record.  This might be useful, for example, if you want to
  863.      work with more than one record returned by a PhDbase search.
  864.  
  865.      Choose "Help on PhDbase" to get online information about using the
  866.      various PhDbase functions.  Note that once you've chosen one of the
  867.      PhDbase menu options, you can press F1 to obtain context-sensitive
  868.      help.
  869.  
  870.      "Build phonetic index" allows you to add Quick search fields to a
  871.      PhDbase-ready database.  For example, suppose you've done your first
  872.      Quick search on a database and have chosen to build a phonetic index
  873.      on LASTNAME.  You could then build another phonetic index on COMPANY
  874.      with this option, and subsequent Quick searches would allow you to
  875.      search on either LASTNAME or COMPANY.
  876.  
  877.      "Pick full search fields" allows you to change the fields you've
  878.      specified for a Full search on the currently selected database.
  879.  
  880.      "Options" brings up the following submenu:
  881.  
  882.                ┌───────────────────┐
  883.                │ Copy memo fields  │
  884.                │ Set warning limit │
  885.                └───────────────────┘
  886.  
  887.      If you choose "Copy memo fields," you will see a "bullet" appear to
  888.      the left of this option, signalling that the option is on.  This means
  889.      that the temporary file which PhDbase creates for you to browse and
  890.      select search results will contain any memo fields which were in the
  891.      original file.
  892.  
  893.      When PhDbase does a Quick search, two things happen.  First, a set of
  894.      records are isolated through the phonetic indexes, and then these
  895.      records are filtered and ordered to create the search results.  If the
  896.      indexes return many records, the second stage processing may take an
  897.      appreciable amount of time, and Phdbase will warn you if this is about
  898.      to occur.  You can choose "Set warning limit" to change the minimum
  899.      number of records which will trigger this warning.  The default is
  900.      150, and if you change it to 0, PhDbase will not issue this warning no
  901.      matter how many records are returned by the phonetic indexes.
  902.  
  903.      Returning to the main PhDbase menu:
  904.  
  905.      ──────────────────────────────────────────────────────────────────────
  906.      14                                          Korenthal Associates, Inc.
  907.  
  908.  
  909.      "Uninstall PhDbase" will remove PhDbase from the system menu.  Note
  910.      that this does not remove phonetic indexes created by PhDbase.  A
  911.      separate section of this manual deals with issues surrounding the
  912.      complete removal of PhDbase from your system.
  913.  
  914.      Choose "About PhDbase" to get further information about both PhDbase
  915.      and Korenthal Associates.  A submenu will appear with different
  916.      categories of information which may be obtained.
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.      ──────────────────────────────────────────────────────────────────────
  964.      PhDbase User's Guide                                                15
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.      database, PHSAMPLE.DBF, then you can remove PhDbase from your systemAppendix A: Removing PhDbase From Your System
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.      directory. Please read the following notes and instructions carefully.PhDbase files.  You probably also have a file called PHSAMPLE.CDX, thesimply by erasing the PhDbase files located in your FoxPro 2 directo-
  988.  
  989.  
  990.  
  991.      This file should also be erased.If the only database that you have Quick searched is our sample
  992.  
  993.  
  994.  
  995.  
  996.      index file that we created when we Quick searched the sample database.ry.  Refer to the installation section of the manual for a list of the
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.      system, in addition to erasing the PhDbase files from your FoxPro 2If you have Quick searched any of your own databases, however, there
  1004.      is one step you need to take to successfully remove PhDbase from your──────────────────────────────────────────────────────────────────────
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.      ──────────────────────────────────────────────────────────────────────
  1059.      16                                          Korenthal Associates, Inc.the same directory as the database file.  This file is a FoxProextension of .CDX.  For example, if you "Quick searched" our sample
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.      FoxPro 2 directory, FoxPro will no longer be able to find the programdatabase, PHSAMPLE.DBF, you will find a file called PHSAMPLE.CDX in
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.      index.TAG keyword, without the optional OF clause, in the FoxPro INDEX
  1080.  
  1081.  
  1082.  
  1083.      Whenever you open a database with an index, FoxPro evaluates the index"structural index", which is always opened by FoxPro whenever you open
  1084.  
  1085.  
  1086.      command.  PhDbase creates its phonetic indexes as TAGs in a structuralits related database.  Structural indexes are created by including the
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.      called PHDBASE.  If you have erased the PhDbase files from yourthat has been made "PhDbase-ready", FoxPro will look for a programwhen you add records or change your data.  In the case of a databaseindex file that has the same name as the database, but with a file
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.      expressions to ensure that it can successfully update the index filesAny database that has been prepared for a Quick search now has an
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.      it needs to keep your PhDbase indexes up-to-date, and will display an
  1124.  
  1125.  
  1126.      To complete the removal of PhDbase from your system and avoid seeing
  1127.      this error message, you must delete the PhDbase index tags from the
  1128.      database's structural index.  For each database that has one or more
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.          includes PHDBASE in itsOpen the database exclusively.USE <database name> EXCLUSIVEDescriptionType in the Command WindowPhDbase indexes, do the following:
  1141.  
  1142.  
  1143.          ───────────                    ──────────────────────────
  1144.  
  1145.  
  1146.  
  1147.  
  1148.          index tags on the screen.
  1149.  
  1150.          For each index tag that        DELETE TAG <tagname>Display the names of theDISPLAY STATUSerror message "File PHDBASE does not exist".
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.          index expression.
  1168.      To avoid conflicting with any non-PhDbase tags, PhDbase uses tag names
  1169.      which are guaranteed to be unique.  They are always ten characters
  1170.      long, and always begin with the underscore character ("_").
  1171.  
  1172.      Example:
  1173.  
  1174.      After opening the PHSAMPLE database, typing DISPLAY STATUS in the
  1175.      Command window shows the following information:
  1176.  
  1177.          Currently Selected Database:
  1178.          Select area:  1, Database in Use: C:\FOXPRO2\PHSAMPLE.DBF
  1179.          Structural CDX file:  C:\FOXPRO2\PHSAMPLE.CDX
  1180.                    Index tag: _PZ50YD2BI    Key: PHDBASE(COMPANY)
  1181.                    Index tag: _PZ518MNJS    Key: PHDBASE(LAST)
  1182.                    Index tag: _PZ518MRSK    Key: PHDBASE(FIRST)
  1183.                    Index tag: STATE         Key: STATE
  1184.          Lock(s): <none>
  1185.  
  1186.      In this example, the PhDbase index tags are _PZ50YD2BI, _PZ518MNJS and
  1187.      _PZ518MRSK.  To remove the PhDbase index tags, we would enter these
  1188.      commands in the Command window:
  1189.  
  1190.           USE C:\FOXPRO2\PHSAMPLE EXCLUSIVE
  1191.           DELETE TAG _PZ50YD2BI
  1192.           DELETE TAG _PZ518MNJS
  1193.           DELETE TAG _PZ518MRSK
  1194.  
  1195.      Now when you use the DISPLAY STATUS command, you should see that the
  1196.      PhDbase indexes are gone.  If they were the only index tags in the
  1197.      structural (.CDX) index file, FoxPro has erased the structural index,
  1198.      and its name no longer appears beneath the database name.  This is as
  1199.      it should be.  You can create a new structural index at any time.
  1200.  
  1201.      If you know how to use FoxPro's View window, you can also delete these
  1202.      tags from the View window.  Open the View window, select <Setup>, and
  1203.      then <Modify> (the one in the box beneath "Index").  Now highlight the
  1204.      first index expression that contains the word PHDBASE, press the space
  1205.      bar (or click on it with the mouse) to select it, and select
  1206.      <Remove/Edit>.  The index name will be removed from the list of "Index
  1207.      On:" expressions.  Select <<OK>> (you can press Ctrl-Enter as a short-
  1208.      cut), and then confirm the action by answering "Yes" to FoxPro's
  1209.      "Remove <tag name> from this CDX file?" question.
  1210.  
  1211.      Repeat this procedure for each of the remaining PhDbase index tags.
  1212.  
  1213.      If you are using the network version of FoxPro, you will still have to
  1214.      gain exclusive use of the database.  Either open the database from the
  1215.      Command window with USE <database name>  EXCLUSIVE, or SET EXCLUSIVE
  1216.      ON before activating the View window.
  1217.  
  1218.      If you have already received the "File PHDBASE does not exist" error
  1219.      message, don't worry!  No damage has been done to any of your database
  1220.      files.  Just press the Enter key until the error message is not dis-
  1221.  
  1222.      ──────────────────────────────────────────────────────────────────────
  1223.      PhDbase User's Guide                                                17
  1224.  
  1225.  
  1226.      played (you'll get one "error" for each PhDbase index that you created
  1227.      for the database that you've opened), and then perform the steps shown
  1228.      above.
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.      ──────────────────────────────────────────────────────────────────────
  1281.      18                                          Korenthal Associates, Inc.
  1282.  
  1283.  
  1284.      ──────────────────────────────────────────────────────────────────────
  1285.      Appendix B: Trouble-Shooting Guide
  1286.  
  1287.  
  1288.      As with most things in life, PhDbase doesn't always work the way you
  1289.      expect it to.  This is a list of some problems you may encounter, and
  1290.      some possible solutions.  Keep in mind that PhDbase works within
  1291.      FoxPro, and that many aspects of your working environment are not
  1292.      under PhDbase's control.
  1293.  
  1294.  
  1295.      Q: To test PhDbase, I entered some names that I made up.  PhDbase
  1296.         doesn't seem to find some records that I think it should.  Why
  1297.         doesn't it work?
  1298.  
  1299.      A: PhDbase was designed with real life database searches in mind. 
  1300.         Sometimes when you make up a word or name, you may be looking for
  1301.         something that PhDbase doesn't think sounds the way you do, or you
  1302.         may be entering too few letters for PhDbase to really do a good
  1303.         pattern match.
  1304.  
  1305.         For example, if you enter "thrd" expecting to find "Third National
  1306.         Bank", PhDbase probably won't return the records you expect it to. 
  1307.         To you, "thrd" sounds like "third", but if you think about it, the
  1308.         "thr" makes it sound more like "throw"!  In this case, the vowel
  1309.         between the "h" and the "r" is phonetically significant.
  1310.  
  1311.  
  1312.      Q: Every time I use PhDbase, I see all these names flashing on the
  1313.         bottom of my screen.  What causes this?
  1314.  
  1315.      A: PhDbase is a FoxPro program.  Whenever you run a program with
  1316.         FoxPro's status bar displayed, the name of the program module that
  1317.         is currently being executed is displayed on the status bar.  You
  1318.         can hide the status bar by typing SET STATUS OFF in the Command
  1319.         window.
  1320.  
  1321.  
  1322.      Q: When I try to activate the PhDbase menu using the menu's hot key, a
  1323.         different menu pops up.  What's wrong?
  1324.  
  1325.      A: PhDbase uses Alt-H as its hot key.  While this hot key does not
  1326.         conflict with any of FoxPro's native menu pads, you may have
  1327.         installed another application that also uses Alt-H as its hot key
  1328.         into your system menu.  In this event, you will have to access the
  1329.         PhDbase menu either with a mouse, or by pressing the Alt key alone
  1330.         to activate the system menu bar.  Use the cursor keys to position
  1331.         the highlight on PhDbase and hit Enter to activate the menu.
  1332.  
  1333.  
  1334.      Q: When I search for a short word, like "bob", I only get 64 possible
  1335.         matches.  I know that my database has more than 64 Bob's.  Why
  1336.         can't I see all of them?
  1337.  
  1338.      ──────────────────────────────────────────────────────────────────────
  1339.      PhDbase User's Guide                                                19
  1340.  
  1341.  
  1342.      A: PhDbase is designed to find misspelled or mistyped information. 
  1343.         Specifically, we assume that you are trying to find a particular
  1344.         Bob, rather than all Bob's.  Although every record in the database
  1345.         that sounds like your search criteria will be tested by PhDbase, to
  1346.         make the searches as fast as possible, we've limited the number of
  1347.         records that are copied to the temporary database to 64.
  1348.  
  1349.         If you really need to see all the Bob's, you could do a non-PhDbase
  1350.         search such as:
  1351.  
  1352.             SET EXACT OFF
  1353.             BROWSE FOR UPPER(FIRST) = "BOB"
  1354.  
  1355.  
  1356.      Q: I removed PhDbase from the system menu using the SET SYSMENU TO
  1357.         DEFAULT command.  Now I want to load PhDbase again but it doesn't
  1358.         appear on the menu.  Why not?
  1359.  
  1360.      A: PhDbase uses a public variable to determine whether or not it is
  1361.         loaded.  When you use the "Uninstall PhDbase" option, this variable
  1362.         is released.  If you try to remove PhDbase using the SET SYSMENU
  1363.         command, the variable is *not* released.
  1364.  
  1365.         To reinstall PhDbase into the menu, you must manually release the
  1366.         PHD_HIDE variable by typing in the Command window:
  1367.  
  1368.             RELEASE PHD_HIDE
  1369.  
  1370.  
  1371.      Q: To make sure I have the right record, I have to check the contents
  1372.         of a memo field, but the memo fields in the Results database are
  1373.         all empty?  Why is this?
  1374.  
  1375.      A: To make the process of creating the temporary Results database as
  1376.         fast as possible, PhDbase will not copy memo fields unless you
  1377.         specifically tell it to.  Highlight the "Copy memo fields" option
  1378.         on the PhDbase Options submenu, and press Enter.  If you reactivate
  1379.         the submenu, you should see a "bullet" in front of the menu prompt. 
  1380.         PhDbase will now copy the contents of memo fields to the Results
  1381.         database.  If your searches return a lot of records, it may now
  1382.         take a little bit longer for the search results to appear.
  1383.  
  1384.  
  1385.      Q: I always want to know how many possible matches there are, so I set
  1386.         the warning limit to 0.  Now PhDbase *never* warns me, but just
  1387.         starts scanning the records.  What did I do wrong?
  1388.  
  1389.      A: PhDbase considers a warning limit of 0 to mean "I don't want to be
  1390.         bothered by this warning message.  Just go ahead and start scan-
  1391.         ning."  If you set the warning limit to 1, you'll get what you
  1392.         want, unless there is only one possible match.
  1393.  
  1394.  
  1395.  
  1396.      ──────────────────────────────────────────────────────────────────────
  1397.      20                                          Korenthal Associates, Inc.
  1398.  
  1399.  
  1400.      Q: Quick search works fine on the sample database and some other
  1401.         databases, but when I use it with a database that has 800,000
  1402.         records, it seems to "lock up" my computer.  Is this a program
  1403.         "bug"?
  1404.  
  1405.      A: PhDbase Quick searches use Fox's Rushmore technology to quickly
  1406.         locate records.  If you have a database with 500,000 or more re-
  1407.         cords, you *must* use the Extended version of FoxPro for Rushmore
  1408.         to be enabled.  To find out which version of FoxPro you are cur-
  1409.         rently running, type "? VERSION(1)" in the Command window, or
  1410.         select "About FoxPro" from the System menu pad.  If you are running
  1411.         the Extended version, you will see "(X)" after the product name.
  1412.  
  1413.  
  1414.      ┌───────────────────────────────────────────────────────────────────┐
  1415.      │  Technical Support: If you are still having problems using        │
  1416.      │  PhDbase, feel free to contact us on our support section on       │
  1417.      │  CompuServe, PCVENB Section 3; by CompuServe Mail to [76004,      │
  1418.      │  2605]; by FAX to 1-212-242-2599; or by telephone (voice) at      │
  1419.      │  1-212-242-1790 Monday through Friday, 10am to 5pm Eastern time.  │
  1420.      └───────────────────────────────────────────────────────────────────┘
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.      ──────────────────────────────────────────────────────────────────────
  1455.      PhDbase User's Guide                                                21
  1456.  
  1457.  
  1458.      ──────────────────────────────────────────────────────────────────────
  1459.      Appendix C: The PhDbase Philosophy
  1460.  
  1461.  
  1462.      Please note that the following information is primarily of interest to
  1463.      programmers.  You do not need to understand this section to make
  1464.      effective use of PhDbase.
  1465.  
  1466.      A very common weakness in xBASE applications is the manner in which a
  1467.      customer (for example) is found in a database.  If you simply index on
  1468.      last name, there are two problems:  The user must type the name (or
  1469.      first part of the name if EXACT is off) correctly, and even if the
  1470.      name is found, it often does not refer to a unique record in the
  1471.      database.  Most programmers index on UPPER(LAST) instead of just LAST
  1472.      and convert the search term (the name which the user types) to upper
  1473.      case before searching, so at least mixed case isn't an issue.
  1474.  
  1475.      Some programmers don't use a name index at all, and require the
  1476.      operator to instead enter a unique customer code.  While this makes
  1477.      searches quick and unique, it can be irritating for the user and
  1478.      completely useless in a real-time application where customers must be
  1479.      located quickly by name.
  1480.  
  1481.      One method of improving a name search is to use a phonetic index,
  1482.      either instead of or in addition to a traditional name index.  A
  1483.      phonetic index groups what appear to be similar sounds together, so
  1484.      that "Smith" would have the same phonetic key (phonetic index entry)
  1485.      as "Smythe."
  1486.  
  1487.      Some xBASE dialects provide a SOUNDEX function which converts a name
  1488.      to a phonetic key.  Unfortunately, SOUNDEX is commonly considered to
  1489.      be a very inadequate implementation because of three weaknesses: 
  1490.      1) The four-character SOUNDEX key does not provide enough precision
  1491.      for practical purposes, 2) SOUNDEX requires that the search term have
  1492.      the exact same first letter as the target, so searching for "Fieffer"
  1493.      would never return the name "Pfieffer," and 3) SOUNDEX doesn't distin-
  1494.      guish between a very close (or even exact) match and a remotely
  1495.      possible match, making it very confusing for the user who is presented
  1496.      with a list of "SOUNDEX-approved" choices.  See Pat Adams' article in
  1497.      the International Dbase User Group Journal Volume 1 Number 1, "Why
  1498.      SOUNDEX() Doesn't Work For Me," for more details.
  1499.  
  1500.      A more comprehensive approach to inexact searching is to use a fuzzy
  1501.      search.  The basic idea here is to compare character strings based on
  1502.      how close they are to each other.  The term "how close" is completely
  1503.      a function of the specific fuzzy search implementation, and may
  1504.      include both lexical (how the letters in the strings look in compari-
  1505.      son to each other) and phonetic (how the implementation thinks they
  1506.      sound) components.  A good, traditional fuzzy search implementation
  1507.      can yield impressive results, but it suffers from one overriding flaw: 
  1508.      In order to achieve good results, the search term must be "fuzzily"
  1509.      compared against every record in the database!  The implied speed
  1510.  
  1511.  
  1512.      ──────────────────────────────────────────────────────────────────────
  1513.      22                                          Korenthal Associates, Inc.
  1514.  
  1515.  
  1516.      penalty, especially as databases grow larger, can quickly render a
  1517.      traditional fuzzy search useless in real-world applications.
  1518.  
  1519.      The secret of PhDbase's fast, accurate searches lies in its marriage
  1520.      of phonetic index and fuzzy search technologies.  We call this propri-
  1521.      etary new technology Phuzzy Search (TM), which stands for "phonetic
  1522.      index-assisted fuzzy search."
  1523.  
  1524.      There are two steps to a full Phuzzy Search:
  1525.  
  1526.        1) A phonetic index (which is much more accurate than SOUNDEX) is
  1527.           used to isolate a portion of the database with records somewhat
  1528.           likely to match the search term, and 
  1529.  
  1530.        2) a fuzzy search is performed which extracts the most likely candi-
  1531.           dates from only that portion of the database selected by the
  1532.           phonetic index.  In this manner, we gain most of the accuracy of
  1533.           a full fuzzy search, but achieve almost the full speed of the
  1534.           straight phonetic index approach.
  1535.  
  1536.      For smaller databases, the fuzzy search portion of PhDbase may be used
  1537.      without the phonetic index, thus incurring absolutely no database
  1538.      overhead.  Similarly, a programmer may choose to use PhDbase's phonet-
  1539.      ic key generation capability as a better alternative to SOUNDEX
  1540.      without passing through the PhDbase fuzzy search phase.
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.      ──────────────────────────────────────────────────────────────────────
  1571.      PhDbase User's Guide                                                23
  1572.  
  1573.  
  1574.      ──────────────────────────────────────────────────────────────────────
  1575.      Appendix D: PhDbase Developer's Edition
  1576.  
  1577.  
  1578.      If you're a FoxPro developer, you can harness the power of PhDbase for
  1579.      your clients or customers in two ways.  One way is to purchase copies
  1580.      of the PhDbase Application for your clients (site licenses are avail-
  1581.      able from Korenthal Associates), which will allow them to perform
  1582.      Quick or Full searches from FoxPro or from within your application,
  1583.      assuming you make the FoxPro system menu available.
  1584.  
  1585.      A better way of providing PhDbase, however, is to purchase the
  1586.      Developer's Edition from Korenthal Associates for a one-time fee of
  1587.      $299.95.  This gives you the right to perform Phdbase searches within
  1588.      your own applications, using your own user interface.  You can then
  1589.      distribute your applications with embedded PhDbase technology to all
  1590.      your customers at no additional charge (meaning that there is
  1591.      *NO ROYALTY FEE* for use of the PhDbase Developer's Edition).
  1592.  
  1593.      Using the Developer's Edition is very easy.  A library of seven simple
  1594.      functions using the new FoxPro API is supplied, and you just load this
  1595.      library with a single FoxPro command and use the functions the same as
  1596.      FoxPro's internal functions are used.  For example, to build a phonet-
  1597.      ic index on the LASTNAME field in your database, you'd simply say
  1598.      INDEX ON PHDBASE(LASTNAME) TAG PHDNAME.  Then, to perform your search-
  1599.      es, you'd either SEEK on the phonetic index and pass the results of
  1600.      the seek to the PHDTEST function one by one (that's a Quick search),
  1601.      or you'd pass a set of records, possibly the entire database, to the
  1602.      PHDFUZZY function to perform a Full Search.  (If you use PHDFUZZY, you
  1603.      don't even need the overhead of a phonetic index.)
  1604.  
  1605.      The PHDNEXT function allows you to retrieve the results of a PhDbase
  1606.      search, and you can present the results set to your users or manipu-
  1607.      late the results set internally in any way you wish.  You'll be making
  1608.      effective use of PhDbase in your own applications the same day you
  1609.      install the Developer's Edition!
  1610.  
  1611.      The Developer's Edition manual describes these functions in detail and
  1612.      gives tips on getting the most out of PhDbase's amazing new search
  1613.      technology.
  1614.  
  1615.      The PhDbase Developer's Edition is not available as shareware, but
  1616.      does include a 30-day money-back guarantee.  Currently Developer's
  1617.      Editions are available for FoxPro 2.0, Clipper Summer '87/5.0, and
  1618.      dBase III Plus/IV only; please call for availability of Paradox and
  1619.      other versions.
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.      ──────────────────────────────────────────────────────────────────────
  1629.      24                                          Korenthal Associates, Inc.
  1630.  
  1631.  
  1632.      ──────────────────────────────────────────────────────────────────────
  1633.      Appendix E: About Korenthal Associates
  1634.  
  1635.  
  1636.      Korenthal Associatesc (KA) has been producing top quality software
  1637.      since 1984, including the critically acclaimed Webster's New World
  1638.      line of spelling checkers, thesauri, and word processors published by
  1639.      Simon & Schuster.  KA has been a member of the Associaton of Shareware
  1640.      Professionals since 1988.  Our current products include:
  1641.  
  1642.        o   4Print, The Paper-Saving Utility For HP LaserJets, DeskJets, and
  1643.            Compatibles.  4Print prints two or three fully readable pages of
  1644.            text on each sheet of paper using your LaserJet's or DeskJet's
  1645.            landscape (sideways) printing capability.  And even without a
  1646.            duplex printer, 4Print can print on both sides of the page,
  1647.            yielding four, six, or even more pages of text on each sheet!
  1648.  
  1649.            4Print is perfect for program listings and documentation, and
  1650.            its single-column mode is great for wide spreadsheets and
  1651.            database reports!  And not only does 4Print's reduced paper
  1652.            consumption mean lower paper costs and less shelf space taken up
  1653.            for storing printouts, it's also good for the ecology!
  1654.  
  1655.            New with version 4.1 of 4Print is the companion utility 4Book,
  1656.            which makes it easy to produce handsome booklets.  Booklets can
  1657.            be customized in dozens of ways, including cover styles, large
  1658.            title fonts, boilerplate text, and even random quotes that print
  1659.            out differently each time the booklet is printed.
  1660.  
  1661.            Other 4.1 features include printing 1-4 columns of text across,
  1662.            variable number of lines per page, reverse-order printing to
  1663.            eliminate the need for paper shuffling, automatic line number-
  1664.            ing, compression of excess blank lines and page breaks, intelli-
  1665.            gent word wrap, and support for A4 paper.  4Print costs $49.95
  1666.            plus $20 for an optional Windows interface; please call regard-
  1667.            ing availability of PostScript version.
  1668.  
  1669.                "4Print is great for quickly spec'ing layouts, printing
  1670.                books, or simply saving paper."
  1671.                PC World, July 1991.
  1672.  
  1673.                "4Print is definitely worth adding to your printer toolbox."
  1674.                PC Magazine First Looks, March 27, 1990
  1675.  
  1676.                "The result is a very neat-looking document that takes up
  1677.                only 25 per cent of the paper and space."
  1678.                InfoWorld, October 3, 1988.
  1679.  
  1680.                "4Print provides a simple, elegant solution to a problem
  1681.                encountered by many programmers and documentation writers."
  1682.                Computer Language, June 1988.
  1683.  
  1684.  
  1685.  
  1686.      ──────────────────────────────────────────────────────────────────────
  1687.      PhDbase User's Guide                                                25
  1688.  
  1689.  
  1690.        o   Babble!, a creativity tool for writers.  Babble! analyzes sam-
  1691.            ples of text for style and content, and then mixes them together
  1692.            to generate a steady stream of nonsensical prose.  Mix Shake-
  1693.            speare with Harold Robbins, or Firesign Theatre with Dick and
  1694.            Jane!  Add special effects like Stutter and Subliminal!  You can
  1695.            even import your own writings!  All text is controlled
  1696.            on-the-fly using Babble!'s unique "text-mixing studio", and
  1697.            changes appear instantly!
  1698.  
  1699.            By mixing up words and ideas, and by finding connections which
  1700.            are not obvious on a straight reading of the text, Babble! is
  1701.            useful as a creative tool and an idea generator for brainstorm-
  1702.            ing.  It has been used to name products, inspire marketing and
  1703.            advertising materials, and rescue authors from writer's block,
  1704.            and it's even valuable simply as a toy for people who love
  1705.            words!  Babble! costs $25.00; additional volumes of writing
  1706.            samples are available for $10 each.
  1707.  
  1708.                "Out of the madness come wonderful combinations that have
  1709.                given me insights that change the shape of the story."
  1710.                Orson Scott Card, Compute, August 1991.
  1711.  
  1712.                "A bizarre wordplay program that will have you and your
  1713.                friends in hysterics."
  1714.                PC Magazine, August 1991.
  1715.  
  1716.                "Wonderfully funny but useful."
  1717.                PC Magazine, May 14, 1991.
  1718.  
  1719.                "More fun than showing your latest spreadsheets or those
  1720.                tired revolving beach balls."
  1721.                Stan Kelly-Bootle, Computer Language, October 1990.
  1722.  
  1723.  
  1724.      Please feel free to contact us if you have any questions, comments, or
  1725.      suggestions about any of our products or require additional informa-
  1726.      tion.  Thank you!
  1727.  
  1728.           Korenthal Associates, Inc.
  1729.           230 West 13th Street
  1730.           New York, New York 10011
  1731.           U.S.A.
  1732.  
  1733.           Orders only: 1-800-KA-PROGS
  1734.           Information: 1-212-242-1790
  1735.           FAX:         1-212-242-2599
  1736.           CompuServe:  [76004,2605]
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.      ──────────────────────────────────────────────────────────────────────
  1745.      26                                          Korenthal Associates, Inc.
  1746.  
  1747.  
  1748.      ──────────────────────────────────────────────────────────────────────
  1749.      Appendix F: PhDbase Shareware Information
  1750.  
  1751.  
  1752.      PhDbase is a copyrighted computer program which is being marketed as
  1753.      shareware.  It is not a public domain program, and it is not free.
  1754.  
  1755.      Shareware is a marketing method, not a type of software.  It gives
  1756.      users a legal but limited trial period to evaluate a program before
  1757.      purchase.  If you continue to use the program after the trial period
  1758.      has ended, you must register (pay for) the program.  It's that simple.
  1759.  
  1760.      Shareware is produced by accomplished programmers, just like retail
  1761.      software.  There is good shareware and bad shareware, just as there is
  1762.      good and bad retail software.  The primary difference between share-
  1763.      ware and retail software is that with shareware you know if it's good
  1764.      or bad BEFORE you pay for it.
  1765.  
  1766.      Shareware benefits you, the software user, because you get to try the
  1767.      software on your own system, within your own special work environment,
  1768.      and determine whether it meets your needs before you pay for it.  And
  1769.      shareware benefits program authors because we are able to get our pro-
  1770.      ducts into your hands without the hundreds of thousands of dollars in
  1771.      expenses it takes to launch a traditional software product.  There are
  1772.      many programs on the market today which would never have become avail-
  1773.      able without the shareware marketing method.
  1774.  
  1775.      The shareware system and the continued availability of quality share-
  1776.      ware products depend on your willingness to register and pay for the
  1777.      shareware you use.  It's the registration fees you pay that allow us
  1778.      to support and continue to develop our products.
  1779.  
  1780.      Please show your support for shareware by registering those programs
  1781.      you actually use and by passing them on to others.
  1782.  
  1783.      Shareware is kept alive by YOUR support!
  1784.  
  1785.  
  1786.      The Association of Shareware Professionals (ASP)
  1787.      ────────────────────────────────────────────────
  1788.  
  1789.      The Association of Shareware Professionals (ASP) was formed in 1987 to
  1790.      inform users about the shareware marketing method, to foster a high
  1791.      degree of professionalism among shareware authors, and to provide a
  1792.      forum through which ASP members may communicate, share ideas, and
  1793.      learn from each other.
  1794.  
  1795.      ASP members' shareware meets additional quality standards beyond
  1796.      ordinary shareware.  Members' programs must be fully functional (not
  1797.      crippled, demo, or out-of-date versions); program documentation must
  1798.      be complete and must clearly state the registration fee and the
  1799.      benefits received for registering; members must provide free mail or
  1800.      telephone support for a minimum of three months after registration;
  1801.  
  1802.      ──────────────────────────────────────────────────────────────────────
  1803.      PhDbase User's Guide                                                27
  1804.  
  1805.  
  1806.      and members must meet other guidelines which help to insure that you
  1807.      as a user receive good value for your money and are dealt with profes-
  1808.      sionally.
  1809.  
  1810.                               ┌─────────┐                  
  1811.                         ┌─────┴───┐     │               (R)
  1812.                       ──│         │o    │──────────────────
  1813.                         │   ┌─────┴╨──┐ │  Association of  
  1814.                         │   │         │─┘  Shareware       
  1815.                         └───│    o    │    Professionals   
  1816.                       ──────│    ║    │────────────────────
  1817.                             └────╨────┘    MEMBER          
  1818.  
  1819.      Korenthal Associates is a member of the Association of Shareware
  1820.      Professionals (ASP).  ASP wants to make sure that the shareware
  1821.      principle works for you.  If you are unable to resolve a share-
  1822.      ware-related problem with an ASP member by contacting the member
  1823.      directly, ASP may be able to help.  The ASP Ombudsman can help you
  1824.      resolve a dispute or problem with an ASP member, but does not provide
  1825.      technical support for members' products.  Please write to the ASP
  1826.      Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send a CompuServe
  1827.      message via CompuServe MAIL to ASP Ombudsman 70007,3536.
  1828.  
  1829.  
  1830.      Registration Information
  1831.      ────────────────────────
  1832.  
  1833.      PhDbase 2.0 is provided at no charge for evaluation purposes only. 
  1834.      This shareware version of PhDbase is the complete working version of
  1835.      the program, not a crippled or demo copy.  (Please note that there are
  1836.      several separate products called the PhDbase Developer's Editions
  1837.      which are not available as shareware, but do carry a 30-day money-back
  1838.      guarantee; see Appendix D for additional information.)
  1839.  
  1840.      Korenthal Associates, Inc. hereby grants you a limited license to use
  1841.      this software for evaluation purposes only for a period not to exceed
  1842.      thirty (30) days.  If you intend to continue using this software (and/
  1843.      or its documentation) after the thirty (30) day evaluation period, you
  1844.      MUST make a registration payment to Korenthal Associates.  Using this
  1845.      software after the evaluation period has ended without registering is
  1846.      a violation of the terms of this limited license.
  1847.  
  1848.      You may register PhDbase (or order the PhDbase Developer's Edition)
  1849.      using the accompanying order form or the form printed by the program
  1850.      itself; you may also register using MasterCard or Visa by phone
  1851.      (800-KA-PROGS), FAX (212-242-2599), or CompuServe Mail (76004,2605). 
  1852.      Company purchase orders are welcome.  Site licenses and volume dis-
  1853.      counts are available.  
  1854.  
  1855.      The registration fee licenses one copy of the software for use on one
  1856.      computer.  Additional sites, or additional computers on a local area
  1857.      network, must be licensed separately; alternatively, contact Korenthal
  1858.      Associates for current site license information.
  1859.  
  1860.      ──────────────────────────────────────────────────────────────────────
  1861.      28                                          Korenthal Associates, Inc.
  1862.  
  1863.  
  1864.      As a registered user, you will receive:
  1865.  
  1866.        o  The full retail PhDbase package including typeset manual.
  1867.  
  1868.        o  The most current version of the PhDbase program.  We are always
  1869.           improving our products, and registration ensures that you have
  1870.           the latest version.
  1871.  
  1872.        o  Free technical support.
  1873.  
  1874.        o  Notification of significant upgrades to PhDbase.
  1875.  
  1876.        o  Special offers on other products from Korenthal Associates.
  1877.  
  1878.        o  A free CompuServe IntroPak, which includes a $15.00 usage credit
  1879.           and a complimentary subscription to CompuServe Magazine, is
  1880.           available to PhDbase registered users who do not yet subscribe to
  1881.           CompuServe.  CompuServe will open the door for a whole new world
  1882.           of information, services, and interesting people.  CompuServe is
  1883.           also the best place to obtain technical support for products from
  1884.           Korenthal Associates (and many other vendors and developers). 
  1885.           This CompuServe IntroPak (a $39.95 value) is provided to PhDbase
  1886.           registered users compliments of CompuServe, Inc., and Korenthal
  1887.           Associates.
  1888.  
  1889.  
  1890.      Limited Distribution License
  1891.      ────────────────────────────
  1892.  
  1893.      Korenthal Associates encourages you to freely copy and distribute the
  1894.      unregistered version of the PhDbase utility subject to the following
  1895.      restrictions.  Please note that there are several separate products
  1896.      called the PhDbase Developer's Editions which are *NOT* shareware and
  1897.      may *NOT* be freely distributed.
  1898.  
  1899.      The PhDbase package is defined as containing all the material listed
  1900.      in the PACKING.LST text file.  If any files listed in the PACKING.LST
  1901.      text file, or the PACKING.LST file itself, are missing, then the
  1902.      package is not complete and distribution is forbidden.  Please contact
  1903.      us to obtain a complete package suitable for distribution.
  1904.  
  1905.        o  The PhDbase package - including all related program files and
  1906.           documentation files - CANNOT be modified in any way and must be
  1907.           distributed as a complete package, without exception.
  1908.  
  1909.        o  You may charge a distribution fee for the package, but you must
  1910.           not represent in any way that you are selling the software
  1911.           itself.
  1912.  
  1913.        o  You may not list any of our products in advertisements, catalogs,
  1914.           or other literature which describe our products as "free",
  1915.           "cheap", or "public domain".
  1916.  
  1917.  
  1918.      ──────────────────────────────────────────────────────────────────────
  1919.      PhDbase User's Guide                                                29
  1920.  
  1921.  
  1922.        o  If you indicate ASP membership for products listed in your
  1923.           catalog or on your BBS, please do so in your listing for this
  1924.           product.
  1925.  
  1926.        o  The PRINTED documentation may not be reproduced in whole or in
  1927.           part, using any means, without the prior written permission of
  1928.           Korenthal Associates.  In other words, the disk-based documenta-
  1929.           tion may not be distributed in PRINTED (hardcopy) form.
  1930.  
  1931.        o  Korenthal Associates prohibits the distribution of outdated ver-
  1932.           sions of our products without written permission from Korenthal
  1933.           Associates.  If the version you have is over twelve (12) months
  1934.           old, please contact us to ensure that you have the most current
  1935.           version.  This version was released in October, 1991.
  1936.  
  1937.        o  You shall not use, copy, rent, lease, sell, modify, decompile,
  1938.           disassemble, otherwise reverse engineer, or transfer the licensed
  1939.           program except as provided in this agreement.  Any such unautho-
  1940.           rized use shall result in immediate and automatic termination of
  1941.           this license.
  1942.  
  1943.        o  Korenthal Associates reserves the right to withdraw permission
  1944.           from any vendor to distribute our products at any time and for
  1945.           any reason.
  1946.  
  1947.      All rights not expressly granted here are reserved by Korenthal
  1948.      Associates, Inc.
  1949.  
  1950.      The latest versions of all Korenthal Associates shareware products can
  1951.      always be found in KA's support forum on CompuServe, PCVENB Section 3,
  1952.      as well as on The Consultant BBS at 1-718-837-3236.
  1953.  
  1954.  
  1955.      Please Help Us Serve You Better
  1956.      ───────────────────────────────
  1957.  
  1958.      We would appreciate copies of anything you print regarding our soft-
  1959.      ware.  Please send us a copy of any reviews, articles, catalog de-
  1960.      scriptions, or other information you print or distribute regarding any
  1961.      of our products.  And feel free to contact us if you have any ques-
  1962.      tions, comments, or suggestions or require additional information.
  1963.  
  1964.      Thank you for your time and assistance and for supporting the
  1965.      shareware marketing concept!
  1966.  
  1967.           Korenthal Associates, Inc.    Orders only: (800) KA-PROGS
  1968.           230 West 13th Street          Information: (212) 242-1790
  1969.           New York, New York 10011      FAX:         (212) 242-2599
  1970.           U.S.A.                        CompuServe:  [76004,2605]
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.      ──────────────────────────────────────────────────────────────────────
  1977.      30                                          Korenthal Associates, Inc.
  1978.  
  1979.                           PHDBASE 2.0 ORDER FORM
  1980.  
  1981.      Remit to:   Korenthal Associates, Inc.    Orders: 1-800-KA-PROGS
  1982.                  230 West 13th Street          Info:   1-212-242-1790
  1983.                  New York, NY 10011            Fax:    1-212-242-2599
  1984.                  U.S.A.                        CIS:    [76004,2605]
  1985.  
  1986.      PhDbase (search technology for FoxPro)  Qty ____ @   $99.95  $________
  1987.  
  1988.      PhDbase Developer's Edition (FoxPro)    Qty ____ @  $299.95  $________
  1989.  
  1990.      PhDbase Developer's Edition (Clipper)   Qty ____ @  $299.95  $________
  1991.  
  1992.      PhDbase Developer's Edition (dBase)     Qty ____ @  $299.95  $________
  1993.  
  1994.      4Print (with 4Book, 4Fold, and KAZap)   Qty ____ @   $49.95  $________
  1995.  
  1996.      4Shell (Windows interface for 4Print)   Qty ____ @   $20.00  $________
  1997.  
  1998.      Babble! with Best of Babble!
  1999.         (creativity tool for writers)        Qty ____ @   $35.00  $________
  2000.  
  2001.      PhDbase (FoxPro) Site License, 5-10 users        @  $500.00  $________
  2002.  
  2003.      PhDbase Developer's Site License, 5-10 users
  2004.         [ ] FoxPro  [ ] Clipper  [ ] dBase            @ $1500.00  $________
  2005.  
  2006.                New York residents add applicable sales tax:       $________
  2007.  
  2008.                Shipping and handling, US/Canada:  $4 per copy
  2009.                             All other countries: $10 per copy     $________
  2010.  
  2011.                                                         Total     $________
  2012.  
  2013.      Payment by:  [ ] Check (U.S. funds only, drawn on a U.S. bank)
  2014.  
  2015.                   [ ] MasterCard  [ ] Visa  [ ] PO # ______________
  2016.  
  2017.      Card #: ____________________________________  Exp. Date: _____________
  2018.  
  2019.      Signature of card holder: ____________________________________________
  2020.  
  2021.      Name:    _____________________________________  Title: _______________
  2022.  
  2023.      Company: _____________________________________________________________
  2024.  
  2025.      Address: _____________________________________________________________
  2026.  
  2027.               _____________________________________________________________
  2028.  
  2029.               _____________________________________________________________
  2030.  
  2031.      Day Phone: ________________________  Evening: ________________________
  2032.  
  2033.      Disk format:  [ ] 5.25"  [ ] 3.5"
  2034.  
  2035.      Where did you get your copy of PhDbase? ______________________________
  2036.  
  2037.                           PHDBASE 2.0 ORDER FORM
  2038.  
  2039.      Remit to:   Korenthal Associates, Inc.    Orders: 1-800-KA-PROGS
  2040.                  230 West 13th Street          Info:   1-212-242-1790
  2041.                  New York, NY 10011            Fax:    1-212-242-2599
  2042.                  U.S.A.                        CIS:    [76004,2605]
  2043.  
  2044.      PhDbase (search technology for FoxPro)  Qty ____ @   $99.95  $________
  2045.  
  2046.      PhDbase Developer's Edition (FoxPro)    Qty ____ @  $299.95  $________
  2047.  
  2048.      PhDbase Developer's Edition (Clipper)   Qty ____ @  $299.95  $________
  2049.  
  2050.      PhDbase Developer's Edition (dBase)     Qty ____ @  $299.95  $________
  2051.  
  2052.      4Print (with 4Book, 4Fold, and KAZap)   Qty ____ @   $49.95  $________
  2053.  
  2054.      4Shell (Windows interface for 4Print)   Qty ____ @   $20.00  $________
  2055.  
  2056.      Babble! with Best of Babble!
  2057.         (creativity tool for writers)        Qty ____ @   $35.00  $________
  2058.  
  2059.      PhDbase (FoxPro) Site License, 5-10 users        @  $500.00  $________
  2060.  
  2061.      PhDbase Developer's Site License, 5-10 users
  2062.         [ ] FoxPro  [ ] Clipper  [ ] dBase            @ $1500.00  $________
  2063.  
  2064.                New York residents add applicable sales tax:       $________
  2065.  
  2066.                Shipping and handling, US/Canada:  $4 per copy
  2067.                             All other countries: $10 per copy     $________
  2068.  
  2069.                                                         Total     $________
  2070.  
  2071.      Payment by:  [ ] Check (U.S. funds only, drawn on a U.S. bank)
  2072.  
  2073.                   [ ] MasterCard  [ ] Visa  [ ] PO # ______________
  2074.  
  2075.      Card #: ____________________________________  Exp. Date: _____________
  2076.  
  2077.      Signature of card holder: ____________________________________________
  2078.  
  2079.      Name:    _____________________________________  Title: _______________
  2080.  
  2081.      Company: _____________________________________________________________
  2082.  
  2083.      Address: _____________________________________________________________
  2084.  
  2085.               _____________________________________________________________
  2086.  
  2087.               _____________________________________________________________
  2088.  
  2089.      Day Phone: ________________________  Evening: ________________________
  2090.  
  2091.      Disk format:  [ ] 5.25"  [ ] 3.5"
  2092.  
  2093.      Where did you get your copy of PhDbase? ______________________________
  2094.